Skip to content

Add prerender-java Jakarta Servlet Filter for Java 17+#5

Open
Lasalot wants to merge 1 commit intomainfrom
add-prerender-java
Open

Add prerender-java Jakarta Servlet Filter for Java 17+#5
Lasalot wants to merge 1 commit intomainfrom
add-prerender-java

Conversation

@Lasalot
Copy link
Copy Markdown
Collaborator

@Lasalot Lasalot commented Apr 20, 2026

Summary

  • Fresh Jakarta Servlet Filter replacing the abandoned greengerong/prerender-java (Java 6 + Apache HttpClient 4 + Guava + Commons Lang)
  • Zero runtime dependencies — only jakarta.servlet-api (provided scope) and built-in java.net.http.HttpClient
  • Works with any Jakarta EE runtime: Tomcat 10+, Jetty 11+, Spring Boot 3+, Quarkus, Micronaut
  • Config via env vars (PRERENDER_TOKEN, PRERENDER_SERVICE_URL) with fallback to web.xml init-params
  • Same bot list and extension ignore list as all other integrations
  • Maven: io.prerender:prerender-java:1.0.0, Java 17+, Jakarta Servlet 6.0

Test plan

  • mvn test passes all 7 test cases
  • Browser UA → passes through
  • Bot UA → receives prerendered response
  • Bot UA + static asset → passes through
  • _escaped_fragment_ → prerendered
  • X-Bufferbot header → prerendered
  • POST + bot UA → passes through
  • Network error (connection reset) → graceful fallback
  • mvn package produces clean JAR with no runtime deps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant